
#ifndef __HASH_H
#define __HASH_H

/** A set of hashing and ID functions. */
namespace Hash
{
   char *makeBase64ID(int bytes);
   char *makeHexadecimalID(int bytes);
   char *convertToColonHex(const char *inputstr);
   char *getHexMD5Hash(const char *data, int length, const char *prefix);
   char *getHexSHA1Hash(const char *data, int length, const char *prefix);
   char *getHexSHA256Hash(const char *data, int length, const char *prefix);
   int getBinaryMD5Hash(const char *data, int length, unsigned char *hash);
   int getBinarySHA1Hash(const char *data, int length, unsigned char *hash);
   int getBinarySHA256Hash(const char *data, int length, unsigned char *hash);
   char *mergeBlockHashes(const char **hashes);
};

#endif
